app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))
↳ QTRS
↳ DependencyPairsProof
app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))
APP(app(append, app(app(append, l1), l2)), l3) → APP(app(append, l2), l3)
APP(app(map, f), app(app(cons, h), t)) → APP(app(cons, app(f, h)), app(app(map, f), t))
APP(app(append, app(app(cons, h), t)), l) → APP(append, t)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(append, app(app(map, f), l1)), app(app(map, f), l2))
APP(app(map, f), app(app(append, l1), l2)) → APP(append, app(app(map, f), l1))
APP(app(append, app(app(append, l1), l2)), l3) → APP(app(append, l1), app(app(append, l2), l3))
APP(app(map, f), app(app(cons, h), t)) → APP(app(map, f), t)
APP(app(append, app(app(append, l1), l2)), l3) → APP(append, l2)
APP(app(append, app(app(cons, h), t)), l) → APP(app(append, t), l)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l1)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l2)
APP(app(map, f), app(app(cons, h), t)) → APP(f, h)
APP(app(append, app(app(cons, h), t)), l) → APP(app(cons, h), app(app(append, t), l))
APP(app(map, f), app(app(cons, h), t)) → APP(cons, app(f, h))
app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
APP(app(append, app(app(append, l1), l2)), l3) → APP(app(append, l2), l3)
APP(app(map, f), app(app(cons, h), t)) → APP(app(cons, app(f, h)), app(app(map, f), t))
APP(app(append, app(app(cons, h), t)), l) → APP(append, t)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(append, app(app(map, f), l1)), app(app(map, f), l2))
APP(app(map, f), app(app(append, l1), l2)) → APP(append, app(app(map, f), l1))
APP(app(append, app(app(append, l1), l2)), l3) → APP(app(append, l1), app(app(append, l2), l3))
APP(app(map, f), app(app(cons, h), t)) → APP(app(map, f), t)
APP(app(append, app(app(append, l1), l2)), l3) → APP(append, l2)
APP(app(append, app(app(cons, h), t)), l) → APP(app(append, t), l)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l1)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l2)
APP(app(map, f), app(app(cons, h), t)) → APP(f, h)
APP(app(append, app(app(cons, h), t)), l) → APP(app(cons, h), app(app(append, t), l))
APP(app(map, f), app(app(cons, h), t)) → APP(cons, app(f, h))
app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
APP(app(append, app(app(append, l1), l2)), l3) → APP(app(append, l2), l3)
APP(app(map, f), app(app(cons, h), t)) → APP(app(cons, app(f, h)), app(app(map, f), t))
APP(app(map, f), app(app(append, l1), l2)) → APP(app(append, app(app(map, f), l1)), app(app(map, f), l2))
APP(app(append, app(app(cons, h), t)), l) → APP(append, t)
APP(app(map, f), app(app(append, l1), l2)) → APP(append, app(app(map, f), l1))
APP(app(append, app(app(append, l1), l2)), l3) → APP(app(append, l1), app(app(append, l2), l3))
APP(app(append, app(app(append, l1), l2)), l3) → APP(append, l2)
APP(app(map, f), app(app(cons, h), t)) → APP(app(map, f), t)
APP(app(append, app(app(cons, h), t)), l) → APP(app(append, t), l)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l1)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l2)
APP(app(map, f), app(app(cons, h), t)) → APP(f, h)
APP(app(append, app(app(cons, h), t)), l) → APP(app(cons, h), app(app(append, t), l))
APP(app(map, f), app(app(cons, h), t)) → APP(cons, app(f, h))
app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
APP(app(append, app(app(append, l1), l2)), l3) → APP(app(append, l2), l3)
APP(app(append, app(app(append, l1), l2)), l3) → APP(app(append, l1), app(app(append, l2), l3))
APP(app(append, app(app(cons, h), t)), l) → APP(app(append, t), l)
app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))
APPEND(cons(h, t), l) → APPEND(t, l)
APPEND(append(l1, l2), l3) → APPEND(l2, l3)
APPEND(append(l1, l2), l3) → APPEND(l1, append(l2, l3))
append(nil, l) → l
append(cons(h, t), l) → cons(h, append(t, l))
append(append(l1, l2), l3) → append(l1, append(l2, l3))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(append, app(app(append, l1), l2)), l3) → APP(app(append, l2), l3)
APP(app(append, app(app(append, l1), l2)), l3) → APP(app(append, l1), app(app(append, l2), l3))
Used ordering: Combined order from the following AFS and order.
APP(app(append, app(app(cons, h), t)), l) → APP(app(append, t), l)
nil > append2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
APP(app(append, app(app(cons, h), t)), l) → APP(app(append, t), l)
app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))
APPEND(cons(h, t), l) → APPEND(t, l)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(append, app(app(cons, h), t)), l) → APP(app(append, t), l)
trivial
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l1)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l2)
APP(app(map, f), app(app(cons, h), t)) → APP(f, h)
APP(app(map, f), app(app(cons, h), t)) → APP(app(map, f), t)
app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(map, f), app(app(cons, h), t)) → APP(f, h)
Used ordering: Combined order from the following AFS and order.
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l1)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l2)
APP(app(map, f), app(app(cons, h), t)) → APP(app(map, f), t)
trivial
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l1)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l2)
APP(app(map, f), app(app(cons, h), t)) → APP(app(map, f), t)
app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))
MAP(f, cons(h, t)) → MAP(f, t)
MAP(f, append(l1, l2)) → MAP(f, l2)
MAP(f, append(l1, l2)) → MAP(f, l1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l1)
APP(app(map, f), app(app(append, l1), l2)) → APP(app(map, f), l2)
APP(app(map, f), app(app(cons, h), t)) → APP(app(map, f), t)
cons2 > MAP2
append2 > MAP2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
app(app(append, nil), l) → l
app(app(append, app(app(cons, h), t)), l) → app(app(cons, h), app(app(append, t), l))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map, f), t))
app(app(append, app(app(append, l1), l2)), l3) → app(app(append, l1), app(app(append, l2), l3))
app(app(map, f), app(app(append, l1), l2)) → app(app(append, app(app(map, f), l1)), app(app(map, f), l2))